/**
 * Created by python on 19-8-24.
 */

// alert("1")
// axios.get(HOST + 'complains')
//     .then(response => {console.log(response)})

var app = new Vue({
    el: "#app",
    data: {
        // 页面中需要使用到的数据，键值对
        complains: null,
        page: 1, // 当前页数
        page_size: 8, // 每页数量
        ordering: '-create_time', // 排序
        count: 0,  // 总数量
    },
    computed: {
        total_page: function () {  // 总页数
            return Math.ceil(this.count / this.page_size);
        },
        next: function () {  // 下一页
            if (this.page >= this.total_page) {
                return 0;
            } else {
                return this.page + 1;
            }
        },
        previous: function () {  // 上一页
            if (this.page <= 0) {
                return 0;
            } else {
                return this.page - 1;
            }
        },
        page_nums: function () {  // 页码
            // 分页页数显示计算
            // 1.如果总页数<=5
            // 2.如果当前页是前3页
            // 3.如果当前页是后3页,
            // 4.既不是前3页，也不是后3页
            var nums = [];
            if (this.total_page <= 10000) {
                for (var i = 1; i <= this.total_page; i++) {
                    nums.push(i);
                }
            } else if (this.page <= 3) {
                nums = [1, 2, 3, 4, 5];
            } else if (this.total_page - this.page <= 2) {
                for (var i = this.total_page; i > this.total_page - 5; i--) {
                    nums.push(i);
                }
            } else {
                for (var i = this.page - 2; i < this.page + 3; i++) {
                    nums.push(i);
                }
            }
            return nums;
        }
    },
    mounted: function () {
        // 一加载就需要做的，直接是代码
        this.get_data()
    },
    methods: {
        get_data:function () {
            axios.get(HOST + 'complains/',{
            params:{
                page: this.page,
                page_size: this.page_size,
                ordering: this.ordering
            }
        })
            .then(response => {
                this.complains = response.data.results
                this.count = response.data.count
            })
        },
        // 需要用到的函数，键值对 ，键是名称，值是匿名函数
        on_page: function (num) {
            if (num != this.page) {
                this.page = num;
                this.get_data();
            }
        },
    },
})